using System;
using System.Collections.Generic;
using System.Text;
using Petra.Gis.Geometry;

namespace Petra.Gis.DataServices
{
  /***************************************
   * 
   * this interface must be implemented
   * by any data provider who wants
   * to produce geometries
   * 
   **************************************/
  /// <summary>
  /// this IGeometryFactory interface is generic for all type of geometry perisit formats
  /// each specific geometry factory must ensure that
  /// 'object' is of proper System.type
  /// eg. WKB needs byte[] or stream as input and output
  /// </summary>
  public interface IGeometryFactory
  {

    GeometryBase CreateGeometry(object vdata);
    object SaveGeometry(GeometryBase geometry);
    bool CanSave(GeometryBase geometry);
  }



  
}
